package com.vhall.component.entity.vote.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author longzhen.gong
 * @date 2021/7/7 11:42
 */
@NoArgsConstructor
@Data
public class VotesListRspVO implements Serializable {

    private static final long serialVersionUID = 6301687540733820272L;

    /**
     * 用户ID
     */
    @JsonProperty("account_id")
    @TableField("account_id")
    private String accountId;

    @JsonProperty("app_id")
    @TableField("app_id")
    private String appId;

    @JsonProperty("created_at")
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 创建人
     */
    @JsonProperty("created_by")
    @TableField("created_by")
    private String createBy;

    @JsonProperty("deleted_at")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

    @TableField("extend")
    private String extend;

    /**
     * 投票是否结束 0-未结束 1-已结束
     */
    @JsonProperty("is_finish")
    @TableField("is_finish")
    private Integer isFinish;
    /**
     * 是否是公开投票，1是0否，默认是
     */
    @JsonProperty("is_public")
    @TableField("is_public")
    private Integer isPublic;

    @JsonProperty("is_release")
    @TableField("is_release")
    private Integer isRelease;
    /**
     * 投票限时时长 默认0 为不限时
     */
    @JsonProperty("limit_time")
    @TableField("limit_time")
    private Integer limitTime;

    @JsonProperty("lk_update_time")
    @TableField("lk_update_time")
    private LocalDateTime lkUpdateTime;

    /**
     * 可选选项数量 默认单选
     */
    @JsonProperty("option_num")
    @TableField("option_num")
    private Integer optionNum;

    /**
     * 是否发布，1是0否
     */
    @TableField("publish")
    private Integer publish;

    /**
     * 关联房间ID
     */
    @JsonProperty("room_id")
    @TableField("room_id")
    private String roomId;

    @JsonProperty("room_subject")
    @TableField("room_subject")
    private String roomSubject;

    @JsonProperty("source_id")
    @TableField("source_id")
    private Object sourceId;

    /**
     * 投票标题
     */
    @TableField("title")
    private String title;

    @JsonProperty("updated_at")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 投票ID
     */
    @JsonProperty("vote_id")
    @TableField("vote_id")
    private Long voteId;

    /**
     * 公开时间
     */
    @JsonProperty("public_time")
    private String publishTime;
    /**
     * 结束时间
     */
    @TableField("finish_time")
    @JsonProperty("finish_time")
    private LocalDateTime finishTime;

    private Integer answer;

    @JsonProperty("answer_id")
    private Integer answerId;

    private Integer bind;


}
